package hottargui.domain;

/**
 * Responsibilitys:
 * 
 * a) Handle the attack sequence
 *  
 */
public interface AttackStrategy {
	/**
	 * The tile from which the attack has been initialised and then strenght of the attack determins the number of dead camels 
	 * @param from the tile where the acctack is started
	 * @param to the tile who is beeing attaced
	 * @param dieValue the value of the die, (-1 if not in use) 
	 * @param attackCamels the number of camels in the attack.
	 * 
	 * @return the number of dead units from the attack.
	 */	

	public int attack(Tile from, Tile to, int dieValue, int attackCamels);

	/**
	 * 
	 * @param tt the tile who has been attacked
	 * @return if a the attacked player is alowed to defend himself
	 */

	public boolean defendAllowed(Tile tt, int deadDefenceCamels);

	/**
	 * 
	 * @return True if the strategy needs the die value
	 */

	public boolean rollDieAllowed();
}
